package com.ruoyi.merchant.domain;

import com.ruoyi.merchant.annotation.Dict;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName ReportPolice
 * @Description TODO
 * @Author chenxin.ju
 * @Date 2020-07-08 23:06
 * @ProjectName juservicecloud
 * @Version 1.0
 **/
@Data
@Document(collection = "reportPolice")
public class ReportPolice  implements Serializable {

    @Id
    private String id;

    /**
     * app用户端id
     */
    private String appUserId;

    /**
     * 设备id
     */
    private String deviceId;
    /**
     * 识别码
     */
    private String imie;
    /**
     * 设备类型
     */
    @Dict(dictTable = "t_device_category", dicText = "name", dicCode = "id")
    private  String baseDeviceType;
    /**
     * 设备型号
     */
    @Dict(dictTable = "t_device_model", dicText = "name", dicCode = "id")
    private  String equipmentType;
    /**
     * 客户编号
     */
    private String customerNum;
    /**
     * 客户id
     */
    private String customerId;
    /**
     * 客户人员头像
     */
    private String fileUrl;
    /**
     * 客户姓名
     */
    @Field("customerName")
    private String customerName;
    /**
     * 性别
     */
    @Dict(dicCode = "customerGender")
    private String sex;
    /**
     * 年龄
     */
    private int age;
    /**
     * 联系电话
     */
    private String phone;
    /**
     * 家庭住址
     */
    private String address;
    /**
     * 紧急联系电话
     */
    private String emergencyContact1Phone;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 机构名称
     */
    private String orgName;
    /**
     * 机构id
     */
    private String orgId;
    /**
     * 触发项目来源
     */
    private int alarmSource;
    /**
     * 触发项目值
     */
    private String alarmValue;
    /**
     * 报警风险
     */
    private String riskLevel;
    /**
     * 报警时间
     */
    private Date reportTime;
    /**
     * 报警月份
     */
    private String reportMouth;
    /**
     * 报警触发详情
     */
    private String deatil;
    /**
     * 报警方式
     */
    @Dict(dicCode = "alarm_type")
    private int mode;
    /**
     * 报警位置经度
     */
    private Double longitude;
    /**
     * 报警位置维度
     */
    private Double latitude;
    /**
     * 半径
     */
    private long radius;
    /**
     * 报警位置
     */
    private String locationAddress;
    /**
     * 地理位置类型 1:GPS 定位位置  2:基站定位位置   3:WIFI+基站定位
     */
    private String type;

    /**
     * 处理人员id
     */
    @Dict(dictTable = "t_employee", dicText = "name", dicCode = "id")
    private  String handlerId;
    /**
     * 处理时间
     */
    private  String handlerTime;
    /**
     * 处理结果  0 报警中 1 处理中 2  处理完成
     */
    @Dict(dicCode = "handler_result")
    private  Integer handlerResult;

    /**
     * 备注
     */
    private  String remark;

}
